package com.wiretap.service;

import java.util.Date;

import com.wiretap.po.User;
import com.wiretap.util.Pager;

public interface UserService {
	/**
	 * 添加用户
	 * 
	 * @param phone
	 *            电话号码
	 * @param imeiCode
	 *            IMEI码
	 * @param model
	 *            手机型号
	 * @throws Exception
	 */
	User addUser(String phone, String imeiCode, String model, String clientVersion) throws Exception;

	boolean updateForbiddenTime(String id, boolean isForbidden, Date startTime, Date endTime) throws Exception;

	boolean updatePhoneForbiddenTime(String id, boolean isForbidden, Date startTime, Date endTime) throws Exception;

	User getUserByPhone(String phone) throws Exception;

	Pager<User> listAllUser(int currentPage, int pageSize) throws Exception;

	Pager<User> searchUserByPhone(String phone, int currentPage, int pageSize) throws Exception;

	boolean removeUsers(String[] ids) throws Exception;

	User getUserById(String id) throws Exception;

	long getUserCount() throws Exception;

	void clearUserMsgStatus(String id) throws Exception;

	boolean setUserVisibility(String[] ids, boolean visibility) throws Exception;
}
